ac319cca87020b779722351f37cc0a9c40b12872,src/core/lombok/javac/handlers/HandleWither.java,HandleWither,createWitherForField,#AccessLevel#JavacNode#JavacNode#boolean#List#List#,153

Before Change


		}
	}
	
	public void createWitherForField(AccessLevel level, JavacNode fieldNode, JavacNode source, boolean whineIfExists, List<JCAnnotation> onMethod, List<JCAnnotation> onParam) {
		if (fieldNode.getKind() != Kind.FIELD) {
			fieldNode.addError("@Wither is only supported on a class or a field.");
			return;
		}
		
		JCVariableDecl fieldDecl = (JCVariableDecl)fieldNode.get();
		String methodName = toWitherName(fieldNode);
		
		if (methodName == null) {
			fieldNode.addWarning("Not generating wither for this field: It does not fit your @Accessors prefix list.");
			return;
		}
		
		if ((fieldDecl.mods.flags & Flags.STATIC) != 0) {
			fieldNode.addWarning("Not generating wither for this field: Withers cannot be generated for static fields.");
			return;
		}
		
		if ((fieldDecl.mods.flags & Flags.FINAL) != 0 && fieldDecl.init != null) {
			fieldNode.addWarning("Not generating wither for this field: Withers cannot be generated for final, initialized fields.");
			return;
		}
		

After Change


		}
	}
	
	public void createWitherForField(AccessLevel level, JavacNode fieldNode, JavacNode source, boolean strictMode, List<JCAnnotation> onMethod, List<JCAnnotation> onParam) {
		JavacNode typeNode = fieldNode.up();
		boolean makeAbstract = typeNode != null && typeNode.getKind() == Kind.TYPE && (((JCClassDecl) typeNode.get()).mods.flags & Flags.ABSTRACT) != 0;
		
		if (fieldNode.getKind() != Kind.FIELD) {
			fieldNode.addError("@Wither is only supported on a class or a field.");
			return;
		}
		
		JCVariableDecl fieldDecl = (JCVariableDecl)fieldNode.get();
		String methodName = toWitherName(fieldNode);
		
		if (methodName == null) {
			fieldNode.addWarning("Not generating wither for this field: It does not fit your @Accessors prefix list.");
			return;
		}
		
		if ((fieldDecl.mods.flags & Flags.STATIC) != 0) {
			if (strictMode) {
				fieldNode.addWarning("Not generating wither for this field: Withers cannot be generated for static fields.");
			}
			return;
		}
		
		if ((fieldDecl.mods.flags & Flags.FINAL) != 0 && fieldDecl.init != null) {
			if (strictMode) {
				fieldNode.addWarning("Not generating wither for this field: Withers cannot be generated for final, initialized fields.");
			}
			return;
		}